package com.hm.system.share.service.mongo.system;

import java.util.List;

import com.hm.common.model.PageInfo;
import com.hm.common.util.CommonDef.OperationRecord;
import com.hm.system.mongo.annotation.RecycleRecordAnnotation;
import com.hm.system.mongo.domain.def.DbSystemDef;
import com.hm.system.mongo.domain.def.SysDictDef;
import com.hm.system.mongo.domain.system.SysDictInfo;
import com.hm.system.mongo.vo.system.SysDictInfoVo;

/**
 * @author shishun.wang
 * @date 2016年6月2日 下午10:59:16
 * @version 1.0
 * @describe
 */
public interface SysDictInfoService {

	@RecycleRecordAnnotation(value = OperationRecord.STANDARD_NEW, documentDef = DbSystemDef.SYS_DICT_INFO)
	public String addSysDictInfo(SysDictInfo dictInfo, String operationUser);

	@RecycleRecordAnnotation(value = OperationRecord.STANDARD_UPDATE, documentDef = DbSystemDef.SYS_DICT_INFO)
	public String updateSysDictInfo(SysDictInfo dictInfo, String operationUser);

	@RecycleRecordAnnotation(value = OperationRecord.STANDARD_DELETE, documentDef = DbSystemDef.SYS_DICT_INFO)
	public String deleteSysDictInfo(SysDictInfo dictInfo, String operationUser);

	public SysDictInfo getSysDictInfo(String id);

	public List<SysDictInfo> getDictsByDictDef(SysDictDef dictDef);

	public PageInfo<SysDictInfoVo> querySysDictInfo(String name, String code, SysDictDef dictDef, Long startTime,
			Long endTime, Integer pageNumber, Integer pageSize);
}
